import java.util.*;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: Gao zhao xu
 * Date: 2023-11-14
 * Time: 10:24
 */

/**
 * Map的使用方法
 */
public class TestMap {
    public static void main(String[] args) {
        Map<String, Integer> map = new HashMap<>();
        map.put("hello",5);
        map.put("hello",1); //相当于往搜索树当中 插入数据 key不能重复，但是会更新val值
        map.put("word", 2); //与上一个元素的key比较
        map.put("abcd", 3);
        map.put("abc", 4);
        System.out.println("1.===================");
        System.out.println(map.get("abc")); //根据key的值获取val的值
        System.out.println(map.get("abcde")); //没有key值就会返回null
        System.out.println("2.===================");
        System.out.println(map.getOrDefault("abcde", 666)); //没有key值返回指定值
        System.out.println("3.===================");
        map.get("abc");
        map.remove("abc"); //删除“abc”
        map.get("abc");
        System.out.println("4.===================");
        map.put("abcdef", 5);
        Set<String> keys = map.keySet(); //获取所有的key值
        System.out.println(keys);
        Collection<Integer> values = map.values();
        System.out.println(values); //获取所有的values值
        Set<Map.Entry<String, Integer>> all = map.entrySet();//获取key和对应value的关系
        for (Map.Entry<String, Integer> x : all){
            System.out.println("Key:" + x.getKey() + "; Value:" + x.getValue());
        }
        System.out.println(all); //获取key和对应value的关系
        System.out.println("5.===================");
        System.out.println(map.containsKey("abcdefghijk")); //判断是否含有key值
        System.out.println(map.containsValue(3)); //判断是否含有value值
        System.out.println("6.===================");


    }
}
